サイバーエージェントのGitHub Copilot導入と 開発生産性
https://speakerdeck.com/kurochan/saihaesientonogithub-copilotdao-ru-to-kai-fa-sheng-chan-xing
GitHub Copilot全社導入まで (slide=16)
生成 AI の利用ガイドラインの策定、生成 AI の利用事例紹介
GitHub Copilot活用状況 (slide=25)
記事 サイバーエージェントのGitHub CopilotのAnalyticsデータを公開!利用開始から約3ヶ月でエンジニアの生産性は向上したのか? からの差分
黒崎(=発表者)のCopilotの使い方
ドキュメントに載っていない知識を前提にしたコードを提示 slide=33
分かるまで聞き直す (slide=35)
めっちゃ推薦を受け入れている人 (slide=41)
全部受け入れて、こことここを少し修正すれば使えると思った場合、全てを受け入れるようにしています。
関数やクラスを実装する際には、実装前に「変数名+その関数の具体的な処理を記述する」ことで、提案の精度が向上している印象です。
とにかくCopilotやChatGPTにコードを書かせているだけ (slide=57)
Copilotを活用したコーディングのポイント (slide=44, 49)
実装を始める前にコメントで実装内容を記述
100点のコードを期待しない(50-70点)
生成されるまで待つ
IMO:コード補完として使っているのかな?
生成されたコードをベースに実装を拡張していく
追加の推薦しやすいと期待している
(IMO:これはあんまり賛成できない。楽しくなさそう)
実装を始める前に参考にしたいコードをコメントとして貼っておく
参考にしたいコードの下にそれっぽい変数名を定義する
ChatGPTも活用。クリックボードによく使うプロンプト
Clipyのスニペット! (slide=55)
プロンプトのテンプレートをドキュメントに記載して共有
コードに統一感が生まれる (slide=57)
開発生産性と向き合う (slide=58)
イチロー「ムダなことをしないと合理的になれない」(イチロー独占インタビュー「イチローさんが高校生と向き合う理由」 t=376)
(時間がない -> ムダができない という話だった。ムダなことができなければ新しい発見が生まれない。頭で理解しているだけ)
登さん 世界に普及可能な日本発のサイバー技術の生産手段の確立 (23, 35, 37)
「作る経験はコピーできない。」(『ゼロから作るDeep Learning ❷』の帯)